navigationGo.pngQuick Navigation
allprojects32.pngAll projects
hardware32.pngHardware
links32.pngLinks

favoriteStar32.pngTop projects
Alan numitron clock
Clapclap 2313/1386
SNES Pi Webserver
USB Volume/USB toys
Smokey amp
Laser cutter
WordClock
ardReveil v3
SNES Arcade cabinet
Game boy projects
cameleon
Home Presence Detector

github32.pngGitHub
AlanFromJapan

navigationMail.pngContact me

alanfjmail.png
3flags.pngWho's Alan?


Akizukidenshi
Elec-lab
Rand Nerd Tut
EEVblog
SpritesMods
AvrFreaks
Gameboy Dev
FLOZz' blog
Switch-science
Sparkfun
Suzusho
Datasheet Lib
Reddit Elec
Ermicro
Carnet du maker (fr)

repair - electric shaver battery cloning

Last update: Tue May 19 22:13:22 2026
My Hatteker shaver / trimer last replaceable battery died (or close enough). I loved this one, bought a second one: best cost/performance shaver I got. Can I make my own or just make it a wired-to-USB version? Both are ok for me, I don't shave in the shower anyway.

Presentation

Principle

Battery contains a 18650 Li-ion, and some circuitry (a TC4056A for charging, leds/caps). It has 3 pins, that ID as Battery+, Battery- and the third "IN+" as of the PCB. Just plug the B+/B- in the machine and it turns on a glimpse of a second (motor vibes) and immediately stops.

Points of interrest

What happens is that the IN+ is a sensor pin to identify the battery as genuine. Protocol goes like this:
  • Every 2 ms
  • Shaver pulls IN+ at HIGH (=1.2v) for 300us
  • 20us of low (turn around time)
  • The battery then turns IN+ HIGH (=1.2v) for same 200us
  • Then low until next cycle
  • If you plug only the B+/B- then there is only the pulse generated by the shaver, un-answered (not plugged!) and the shaver disable itself immediately. After measuring the shaver sends 30 pulses before giving up an cutting power.
    There must be some circuitry in the battery hidden behind the power pins, because IN+ is not connected to anything, but I don't want to risk destructive maintenance (I have one barely functionning battery, it's useful to baseline with a working sample).



    Implementation

    Solution 1: cell replacement

    Just replace the Li-Ion cell in the battery. Regular 18650 3.7v 1200mA. But where's the fun in that? Btw I will do that after I complete solution 3, but I don't want to risk killing the last barely-working battery I have at hand: I need it for the tests.

    Solution 2: direct motor drive

    Yeah, just measure how much amps go in the motor and drive it? Motor is a Weilong FF-337PA, DC 3.7v at max 0.8A at full load for 6800 RPM (as per datasheet). But let's call this "last resort" solution in case I blow up the whole thing.

    Solution 3: battery emulation

    Emulate the genuine battery!
    Assuming we will make it a wired version, USB 5V:
  • Sense the 1.2v (do that with an opamp a comparator to reach interrupt level of 3v+)
  • Catch the interrupt (small MCU)
  • After FALLING edge, wait 20us, send 300us pulse = need to generate 1.2v pulse and send that on IN+
  • Avoid brownout when the motor starts (sharp voltage drop on the scope)
  • Schematics

    WORKING circuit to detect signal with LM311

    2 evenings discovering Comparators after noticing that it wouldn't work with LM358 (OpAmp) and it worked. Pretty happy to have discovered that puppy at the bottom of my "opamps & comparators" drawer, and happy first experience with comparator. And Mr. Dave Jones puts it as the first of the Jelly Beans comparators!

    Driving the 1.2v from MCU

    Use a 1.2v voltage reference (ICL8069) and drive it with a npn-transistor (or mosfet) should work: simulation on falstad.com.

    Source code

    PCB and schematics:
  • https://github.com/AlanFromJapan/pcb-design/tree/master/hatteker-battery-faker
  • MCU (ATtiny10) code:
  • https://github.com/AlanFromJapan/alanarduinotools/tree/master/Attiny10/Hatteker_battery
  • Pictures

    Links

    Helpful sources

    Inspiration

    All content on this site is shared under the MIT licence (do what u want, don't sue me, hat tip appreciated)
    electrogeek.tokyo ~ Formerly known as Kalshagar.wikispaces.com and electrogeek.cc (AlanFromJapan [2009 - 2026])